package com.ruoyi.system.domain;

import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.domain.BaseEntity;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 商品基础信息对象 wms_products
 *
 * @author ruoyi
 * @date 2025-06-10
 */
@Data
public class WmsProducts extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 商品ID */
    private Long id;

    /** 商品编码 */
    @ExcelProperty(value = "商品编码")
    private String productCode;

    /** sku编码 */
    @ExcelProperty(value = "sku编码")
    private String skuCode;

    /** 条形码 */
    @ExcelProperty(value = "条形码")
    private String barcode;

    /** 商品名称 */
    @ExcelProperty(value = "商品名称")
    private String productName;

    /** 规格型号 */
    @ExcelProperty(value = "规格型号")
    private String productSpec;

    /** 单位(个/箱/千克等) */
    @ExcelProperty(value = "单位(个/箱/千克等)")
    private String productUnit;

    /** 商品分类ID */
    @ExcelProperty(value = "商品分类ID")
    private Long productCategoryId;

    /** 品牌ID */
    @ExcelProperty(value = "品牌ID")
    private Long productBrandId;

    /** 默认供应商ID */
    @ExcelProperty(value = "默认供应商ID")
    private Long supplierId;

    /** 采购价 */
    @ExcelProperty(value = "采购价")
    private BigDecimal purchasePrice;

    /** 销售价 */
    @ExcelProperty(value = "销售价")
    private BigDecimal sellingPrice;

    /** 批发价 */
    @ExcelProperty(value = "批发价")
    private BigDecimal wholesalePrice;

    /** 最低库存 */
    @ExcelProperty(value = "最低库存")
    private Long minStock;

    /** 最高库存 */
    @ExcelProperty(value = "最高库存")
    private Long maxStock;

    /** 保质期(天) */
    @ExcelProperty(value = "保质期(天)")
    private Long shelfLife;

    /** 重量(kg) */
    @ExcelProperty(value = "重量(kg)")
    private BigDecimal weight;

    /** 体积(m³) */
    @ExcelProperty(value = "体积(m³)")
    private BigDecimal volume;

    /** 商品描述 */
    @ExcelProperty(value = "商品描述")
    private String description;

    /** 商品图片 */
    @ExcelProperty(value = "商品图片")
    private String imageUrl;

    /** 商品图片 */
    @ExcelProperty(value = "商品二维码")
    private String barcodeImageUrl;

    /** 是否启用(1启用 0禁用) */
    @ExcelProperty(value = "是否启用(1启用 0禁用)")
    private Integer isActive;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ExcelProperty(value = "创建时间")
    private Date createdAt;

    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ExcelProperty(value = "更新时间")
    private Date updatedAt;


    @ExcelProperty(value = "分类名称")
    private String categoryName;


    @ExcelProperty(value = "供应商名称")
    private String supplierName;


    @ExcelProperty(value = "品牌名称")
    private String brandName;


    private List<Long> ids;

}
